<template>
  <v-footer
    app
    height="40"
  >
    <div
      class="d-flex justify-center text-caption text-disabled"
      style="position: absolute; right: 16px"
    >
      &copy; 2024-{{ new Date().getFullYear() }}
      <span class="d-none d-sm-inline-block">GCU Computer Science</span>
      —
      <a
        class="text-decoration-none on-surface"
        rel="noopener noreferrer"
      >
        MIT License
      </a>
      <!-- 添加隐私声明链接 -->
      <span class="mx-2">|</span>
      <a
        class="text-decoration-none on-surface"
        @click="showPrivacyModal = true"
      >
        隐私声明
      </a>
    </div>
    <div>
      <v-img
        src="@/assets/gcu.png"
        rounded="50"
        width="24"
        height="20"
        class="mx-2 d-inline-block"
      ></v-img>
    </div>
    <v-dialog
      v-model="showPrivacyModal"
      max-width="600px"
    >
      <v-card class="flex-column-justify-between h-100">
        <v-card-title class="text-center">
          关于学生隐私数据保护的说明
        </v-card-title>
        <v-divider></v-divider>
        <v-card-text class="flex-grow-1 overflow-y-auto">
          <h3>一、数据保护措施</h3>
          <p>我们承诺采取以下技术手段保护学生数据安全：</p>

          <h4>加密存储：</h4>
          <li>
            对姓名、学号等敏感信息进行不可逆加密处理，确保数据存储过程中无法被直接读取。
          </li>
          <li>
            学生头像信息在服务器存储时，将通过加密算法进行加密，访问时需经过身份验证。
          </li>
          <h4>数据混淆：</h4>
          <li>
            在非必要场景（如教学研究、统计分析）中，对原始数据进行
            去标识化处理（如替换真实姓名为随机ID），确保数据（不涉及头像时）与个人身份脱钩。
          </li>
          <li>通过注入干扰值，为学生信息提供一定程度防护。</li>
          <h3>二、数据使用目的</h3>
          <p>我们仅在以下范围内使用学生数据：</p>
          <li>教育教学管理：安排课程、评估学业表现、提供个性化学习建议。</li>
          <li>学术研究与改进：匿名化处理后用于教育模式研究或教学质量分析。</li>

          <h4>可能的披露场景：</h4>
          <li>
            校内公开场景：个人信息可能在教育教学等内部渠道展示，用于教学分析或课题研究。
          </li>
          <li>
            第三方合作场景：一般学校不会与其他第三方共享数据。但由于部分不可避免场景，与技术服务提供商（如在线学习平台、校园卡供应商）共享数据时，将通过合同约定严格的数据保护义务。
          </li>
          <li>
            法律要求场景：根据司法机关、行政机关的合法要求，可能依法披露头像信息（我们将尽最大努力提前告知，除非法律禁止）。
          </li>
          <h4>不可避免的风险提示：</h4>
          <p>
            由于头像等个人信息具有一定可识别性，尽管我们采取加密和访问控制措施，但在极端情况下（如系统遭受黑客攻击、数据被非法爬取），仍可能存在信息被第三方获取的风险。
          </p>
          <h3>三、我们的承诺</h3>
          <p>我们深知个人信息、头像信息的敏感性，将严格遵循以下原则：</p>
          <li>最小必要原则：仅收集实现功能所需的最小化头像数据；</li>
          <li>
            动态评估原则：定期审查头像数据的存储与使用方式，引入第三方安全审计，持续优化保护措施。
          </li>
          <h4>风险告知提示：</h4>
          <p>
            尽管我们采取了合理的技术与管理措施，但互联网环境存在不确定性，头像信息的公开使用仍可能带来一定隐私风险。我们将持续提升保护能力，并与您共同守护学生隐私。
          </p>
          <p>
            本隐私声明旨在向您说明我们如何收集、使用、存储和共享您的个人信息。当您使用我们的服务时，即表示您同意本隐私声明中所述的条款和条件。
          </p>
        </v-card-text>
        <v-divider></v-divider>
        <v-card-actions>
          <v-spacer></v-spacer>
          <v-btn
            text
            color="error"
            @click="showPrivacyModal = false"
          >
            关闭
          </v-btn>
        </v-card-actions>
      </v-card>
    </v-dialog>
  </v-footer>
</template>

<script setup lang="ts">
  import { ref } from "vue";
  const showPrivacyModal = ref(false);
</script>

<style scoped lang="sass">
  .social-link :deep(.v-icon)
    color: rgba(var(--v-theme-on-background), var(--v-disabled-opacity))
    text-decoration: none
    transition: .2s ease-in-out

    &:hover
      color: rgba(25, 118, 210, 1)
</style>
